AWK এ বিল্ট-ইনভাবে সরাসরি সোর্টিং ফাংশন নেই, তবে AWK স্ক্রিপ্টের মাধ্যমে সহজেই Numerical এবং Alphabetical সোর্টিং করা যায়। নিচে Numerical এবং Alphabetical সোর্টিং করার বিভিন্ন উদাহরণ দেওয়া হলো।
Numerical সোর্টিং করার জন্য AWK এর সাথে Shell কমান্ড sort
ব্যবহার করা যায়। এটি ফাইলের সংখ্যা অনুযায়ী সঠিকভাবে সজ্জিত করতে সহায়তা করে।
awk '{print $2}' data.txt | sort -n
এখানে, data.txt
ফাইলের দ্বিতীয় কলাম প্রিন্ট করে sort -n
কমান্ডের মাধ্যমে সংখ্যাগতভাবে সজ্জিত করা হয়েছে।
-n
অপশন: সংখ্যাগত সজ্জিত করতে ব্যবহৃত হয়।Alphabetical সজ্জিত করার জন্য AWK এর সাথে sort
কমান্ড ব্যবহার করা যায়।
awk '{print $1}' data.txt | sort
এখানে, data.txt
ফাইলের প্রথম কলাম প্রিন্ট করে sort
কমান্ডের মাধ্যমে অক্ষরানুক্রমিকভাবে সজ্জিত করা হয়েছে।
AWK স্ক্রিপ্টের মাধ্যমে সরাসরি Numerical সজ্জিত করা সম্ভব, তবে এটি একটু জটিল হতে পারে। নিচে একটি উদাহরণ দেওয়া হলো যেখানে Numerical সজ্জিত করার জন্য একটি কাস্টম স্ক্রিপ্ট ব্যবহার করা হয়েছে।
awk '{
numbers[NR] = $1 # প্রতিটি লাইনের প্রথম কলাম অ্যারেতে রাখা হচ্ছে
}
END {
# অ্যারের উপর সোজাসুজি সজ্জিত প্রয়োগ (bubble sort)
for (i = 1; i <= NR; i++) {
for (j = i + 1; j <= NR; j++) {
if (numbers[i] > numbers[j]) {
temp = numbers[i]
numbers[i] = numbers[j]
numbers[j] = temp
}
}
}
for (i = 1; i <= NR; i++) {
print numbers[i] # সজ্জিত অ্যারের মান প্রিন্ট করা হচ্ছে
}
}' data.txt
এখানে, data.txt
ফাইলের প্রথম কলাম Numerical সজ্জিত করা হয়েছে এবং bubble sort অ্যালগরিদম ব্যবহার করে সজ্জিত করা হয়েছে।
AWK ব্যবহার করে Alphabetical সজ্জিত করাও সম্ভব।
awk '{
words[NR] = $1 # প্রতিটি লাইনের প্রথম কলাম অ্যারেতে রাখা হচ্ছে
}
END {
# অ্যারের উপর Alphabetical সজ্জিত প্রয়োগ (bubble sort)
for (i = 1; i <= NR; i++) {
for (j = i + 1; j <= NR; j++) {
if (words[i] > words[j]) {
temp = words[i]
words[i] = words[j]
words[j] = temp
}
}
}
for (i = 1; i <= NR; i++) {
print words[i] # সজ্জিত অ্যারের মান প্রিন্ট করা হচ্ছে
}
}' data.txt
এখানে, data.txt
ফাইলের প্রথম কলাম Alphabetical সজ্জিত করা হয়েছে।
AWK এর সাথে Shell কমান্ড sort
ব্যবহার করে সহজে Numerical এবং Alphabetical সজ্জিত করা যায়। AWK এর মধ্যে কাস্টম সজ্জিত অ্যালগরিদম তৈরি করে নির্দিষ্ট ডেটা প্রক্রিয়াকরণ কাজেও ব্যবহার করা সম্ভব। এর ফলে বড় ডেটাসেটের মধ্যে সঠিকভাবে সজ্জিত ফলাফল পাওয়া যায়।
common.read_more